<?php


namespace App\Job;


use App\Http\Library\Pfs;
use App\Http\Library\Queue;
use App\Http\Model\Job\PfsHeadAddclasslessonModel;
use App\Http\ModelDao\Job\PfsHeadAddclasslessonDao;

class PfsHeadAddclasslessonJob
{

    /**
     * 2.4排课信息同步>机构端>招行
     *
     * @param array $data
     *
     * @throws \Exception
     */
    public static function main(array $data)
    {
        $result = [];
        /*2.4排课信息同步>机构端>招行:班级排课列表*/
        $lessonList = PfsHeadAddclasslessonDao::lessonList($data);
        try {
            $result = Pfs::pfsHeadAddclasslesson([
                /*机构编号，由招行分配*/
                'agencyId'   => $data['pfs_agencyid'],
                /*班级排课节数:目前传list的长度*/
                'lessonNum'  => count($lessonList),
                /*班级排课列表*/
                'lessonList' => $lessonList,
            ], [
                /*招行-加密密钥*/
                'pfs_encrypt_private' => $data['pfs_encrypt_private'],
                /*招行-签名密钥*/
                'pfs_sign_private'    => $data['pfs_sign_private']
            ]);
            /*同步结果入库*/
            PfsHeadAddclasslessonModel::save($data, $result);
        } catch (\Exception $exception) {
            log_arr([
                '[排课信息同步-异常]',
                'line'   => $exception->getLine(),
                'file'   => $exception->getFile(),
                'msg'    => $exception->getMessage(),
                'data'   => serialize($data),
                'result' => $result,
            ], 'pfs');
            /*十分钟后尝试再次调用*/
            Queue::clock($data, 600);
            /*同步结果入库*/
            PfsHeadAddclasslessonModel::save($data, $result, $exception->getMessage());
            throw new \Exception($exception->getMessage());
        }

    }

}





/**
 * PfsHeadAddclasslessonJob.php
 *
 * 说明:
 *
 * 修改历史
 * ----------------------------------------
 * 2021/7/15 14:07:00   操作:创建
 **/
